/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */

package doanlythuyet_javaoutlook.MyUserControl;

import BUS.MyMailBUS;
import doanlythuyet_javaoutlook.DoAnLyThuyet_JavaOutLookView;
import doanlythuyet_javaoutlook.EventListener_ClickChuotVaoCayDuyetFile;
import java.awt.event.MouseEvent;
import java.awt.event.MouseListener;
import java.io.IOException;
import java.util.logging.Level;
import java.util.logging.Logger;
import javax.swing.JMenuItem;
import javax.swing.JOptionPane;
import javax.swing.JPopupMenu;
import javax.xml.parsers.ParserConfigurationException;
import org.xml.sax.SAXException;

/**
 *
 * @author Administrator
 */
public class PopupMenu_MouseListerner_MyBangDanhSachFile implements MouseListener{
    private String m_HanhViDuocChon;
    //public String m_ThuMucDangChon;
    public PopupMenu_MouseListerner_MyBangDanhSachFile(String hanhVi){
        m_HanhViDuocChon = hanhVi;
    }
    public void mouseClicked(MouseEvent e) {
       //throw new UnsupportedOperationException("Not supported yet.");
    }

    public void mousePressed(MouseEvent e) {
        //throw new UnsupportedOperationException("Not supported yet.");
            //JOptionPane.showMessageDialog(null, "Hanh vi duoc chon: " + m_HanhViDuocChon + "xu ly code tai dong 530 file JPanel_XemMail.java");
           String MailID = ((JPopupMenu) ((JMenuItem)e.getSource()).getParent()).getToolTipText();

            MyMailBUS mailBUS = new MyMailBUS();
            if (m_HanhViDuocChon.equals("Di Chuyen")){
                try {
                    JDialog_ChonThuMucDich dialog_ChonThuMucDich = new JDialog_ChonThuMucDich(null, true);
                    dialog_ChonThuMucDich.setVisible(true);
                    String thuMucDich = dialog_ChonThuMucDich.getM_ThuMucDuocChon();

                    dialog_ChonThuMucDich.dispose();
                    if (thuMucDich.equals(""))
                        return;
                    int soMailCapNhat = mailBUS.thayDoiDuongDanThuMuc(MailID, thuMucDich);

                    JOptionPane.showMessageDialog(null, "Da cap nhat " + soMailCapNhat + "mail");
                    dialog_ChonThuMucDich.dispose();
                } catch (IOException ex) {
                    Logger.getLogger(PopupMenu_MouseListerner_MyBangDanhSachFile.class.getName()).log(Level.SEVERE, null, ex);
                }
            }
            else if(m_HanhViDuocChon.equals("Xoa")){
                try {
                    int soMailCapNhat = mailBUS.xoaMail(MailID);
                    JOptionPane.showMessageDialog(null, "Da cap nhat " + soMailCapNhat + "mail");
                } catch (IOException ex) {
                    Logger.getLogger(PopupMenu_MouseListerner_MyBangDanhSachFile.class.getName()).log(Level.SEVERE, null, ex);
                }
            }
            initEvent_ClickChuotVaoCayDuyetFile(m_HanhViDuocChon);
        


    }

    public void mouseReleased(MouseEvent e) {
        //throw new UnsupportedOperationException("Not supported yet.");
    }

    public void mouseEntered(MouseEvent e) {
        //throw new UnsupportedOperationException("Not supported yet.");
    }

    public void mouseExited(MouseEvent e) {
        //throw new UnsupportedOperationException("Not supported yet.");
    }
    //<editor-fold defaultstate="collapsed" desc="Dung de phat sinh su kien">
    //Các hàm sau phục vụ cho việc gởi sự kiện click chuột vào bảng ra ngoài (tham khảo từ nhiều nguồn trên mạng)
    //http://www.exampledepot.com/egs/java.util/CustEvent.html
    // Tạo một listener list
    protected javax.swing.event.EventListenerList listenerList =
            new javax.swing.event.EventListenerList();

    /**
     * Phát sinh sử kiện click chuột vào tree
     * @param evt tham số cho sự kiện click chuột vào tree (ở đây là tên của file đang được chọn)
     */
    // This private class is used to fire MyEvents
    void initEvent_ClickChuotVaoCayDuyetFile(String evt) {
        Object[] listeners = listenerList.getListenerList();
        // Each listener occupies two elements - the first is the listener class
        // and the second is the listener instance
        for (int i = 0; i < listeners.length; i += 2) {
            if (listeners[i] == EventListener_ClickChuotVaoCayDuyetFile.class) {
                ((EventListener_ClickChuotVaoCayDuyetFile) listeners[i + 1]).Event_ClickChuotVaoCayDuyetFile_Occurred(evt);
            }
        }
    }

    /**
     * Đăng ký sự kiện cho classes
     * @param listener  Sự kiện cần đăng ký
     */
    public void addEventListener_ClickChuotVaoCayDuyetFile(EventListener_ClickChuotVaoCayDuyetFile listener) {
        listenerList.add(EventListener_ClickChuotVaoCayDuyetFile.class, listener);
    }

    /**
     * Gỡ bỏ sự kiện khỏi classes
     * @param listener  Sự kiện cần gỡ bỏ
     */
    public void delEventListener_ClickChuotVaoCayDuyetFile(EventListener_ClickChuotVaoCayDuyetFile listener) {
        listenerList.remove(EventListener_ClickChuotVaoCayDuyetFile.class, listener);
    }
    //</editor-fold>

}